package top.infopub.model.bpa;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/*设备合同--补充协议（BPA_DEVICE_SUPPLE）*/
public class DeviceSupple {

    /**
     * PK
     */
    private String id;
    /**
     * 单据编号
     */
    private String codes;
    /**
     * 项目全局唯一编号
     */
    private String proCode;
    /**
     * 补充协议名称
     */
    private String contractName;
    /**
     * 公司名称
     */
    private String sgCoopId;
    /**
     * 协议签订日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date signDate;
    /**
     * 补充协议编码
     */
    private String deviceCotCode;
    /**
     * 补充内容说明
     */
    private String memo;
    /**
     * 添加人
     */
    private String addBy;
    /**
     * 添加时间
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date addTime;
    /**
     * 最后修改人
     */
    private String uptBy;
    /**
     * 最后修改时间
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date uptTime;
    /**
     * 当前审批状态 1=审批中 9=审批完成 10=审批终止
     */
    private String processStatus;
    /**
     * 关联的审批流程ID
     */
    private String processId;
    /**
     * 合同工期（年）
     */
    private BigDecimal contractYearTime;
    /**
     * 合同工期（天）
     */
    private BigDecimal contractDayTime;
    /**
     * 合同开工日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date beginBuildDate;
    /**
     * 实际合同开工日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date beginBuildDateAct;
    /**
     * 合同竣工日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date endBuildDate;
    /**
     * 实际合同竣工日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date endBuildDateAct;
    /**
     * 调整后竣工日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date adjustedEndBuildDate;
    /**
     * 预付款比例（%）
     */
    private BigDecimal preChargeRate;
    /**
     * 月度付款比例（%）
     */
    private BigDecimal monthChargeRate;
    /**
     * 年度付款比例（%）
     */
    private BigDecimal yearChargeRate;
    /**
     * 竣工付款比例（%）
     */
    private BigDecimal endChargeRate;
    /**
     * 结算后比例（%）
     */
    private BigDecimal settChargeRate;
    /**
     * 质保金比例（%）
     */
    private BigDecimal qaChargeRate;
    /**
     * 质量标准
     */
    private String soqMemo;
    /**
     * 居间费承担方
     */
    private String interFeeOrg;
    /**
     * 农名工保证金承担方
     */
    private String marginOrg;
    /**
     * 履约保函承担方
     */
    private String ensure;
    /**
     * 合同总价
     */
    private BigDecimal contractSum;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCodes() {
        return codes;
    }

    public void setCodes(String codes) {
        this.codes = codes;
    }

    public String getProCode() {
        return proCode;
    }

    public void setProCode(String proCode) {
        this.proCode = proCode;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public String getSgCoopId() {
        return sgCoopId;
    }

    public void setSgCoopId(String sgCoopId) {
        this.sgCoopId = sgCoopId;
    }

    public Date getSignDate() {
        return signDate;
    }

    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    public String getDeviceCotCode() {
        return deviceCotCode;
    }

    public void setDeviceCotCode(String deviceCotCode) {
        this.deviceCotCode = deviceCotCode;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getAddBy() {
        return addBy;
    }

    public void setAddBy(String addBy) {
        this.addBy = addBy;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public String getUptBy() {
        return uptBy;
    }

    public void setUptBy(String uptBy) {
        this.uptBy = uptBy;
    }

    public Date getUptTime() {
        return uptTime;
    }

    public void setUptTime(Date uptTime) {
        this.uptTime = uptTime;
    }

    public String getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(String processStatus) {
        this.processStatus = processStatus;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public BigDecimal getContractYearTime() {
        return contractYearTime;
    }

    public void setContractYearTime(BigDecimal contractYearTime) {
        this.contractYearTime = contractYearTime;
    }

    public BigDecimal getContractDayTime() {
        return contractDayTime;
    }

    public void setContractDayTime(BigDecimal contractDayTime) {
        this.contractDayTime = contractDayTime;
    }

    public Date getBeginBuildDate() {
        return beginBuildDate;
    }

    public void setBeginBuildDate(Date beginBuildDate) {
        this.beginBuildDate = beginBuildDate;
    }

    public Date getBeginBuildDateAct() {
        return beginBuildDateAct;
    }

    public void setBeginBuildDateAct(Date beginBuildDateAct) {
        this.beginBuildDateAct = beginBuildDateAct;
    }

    public Date getEndBuildDate() {
        return endBuildDate;
    }

    public void setEndBuildDate(Date endBuildDate) {
        this.endBuildDate = endBuildDate;
    }

    public Date getEndBuildDateAct() {
        return endBuildDateAct;
    }

    public void setEndBuildDateAct(Date endBuildDateAct) {
        this.endBuildDateAct = endBuildDateAct;
    }

    public Date getAdjustedEndBuildDate() {
        return adjustedEndBuildDate;
    }

    public void setAdjustedEndBuildDate(Date adjustedEndBuildDate) {
        this.adjustedEndBuildDate = adjustedEndBuildDate;
    }

    public BigDecimal getPreChargeRate() {
        return preChargeRate;
    }

    public void setPreChargeRate(BigDecimal preChargeRate) {
        this.preChargeRate = preChargeRate;
    }

    public BigDecimal getMonthChargeRate() {
        return monthChargeRate;
    }

    public void setMonthChargeRate(BigDecimal monthChargeRate) {
        this.monthChargeRate = monthChargeRate;
    }

    public BigDecimal getYearChargeRate() {
        return yearChargeRate;
    }

    public void setYearChargeRate(BigDecimal yearChargeRate) {
        this.yearChargeRate = yearChargeRate;
    }

    public BigDecimal getEndChargeRate() {
        return endChargeRate;
    }

    public void setEndChargeRate(BigDecimal endChargeRate) {
        this.endChargeRate = endChargeRate;
    }

    public BigDecimal getSettChargeRate() {
        return settChargeRate;
    }

    public void setSettChargeRate(BigDecimal settChargeRate) {
        this.settChargeRate = settChargeRate;
    }

    public BigDecimal getQaChargeRate() {
        return qaChargeRate;
    }

    public void setQaChargeRate(BigDecimal qaChargeRate) {
        this.qaChargeRate = qaChargeRate;
    }

    public String getSoqMemo() {
        return soqMemo;
    }

    public void setSoqMemo(String soqMemo) {
        this.soqMemo = soqMemo;
    }

    public String getInterFeeOrg() {
        return interFeeOrg;
    }

    public void setInterFeeOrg(String interFeeOrg) {
        this.interFeeOrg = interFeeOrg;
    }

    public String getMarginOrg() {
        return marginOrg;
    }

    public void setMarginOrg(String marginOrg) {
        this.marginOrg = marginOrg;
    }

    public String getEnsure() {
        return ensure;
    }

    public void setEnsure(String ensure) {
        this.ensure = ensure;
    }

    public BigDecimal getContractSum() {
        return contractSum;
    }

    public void setContractSum(BigDecimal contractSum) {
        this.contractSum = contractSum;
    }


}
